components = [
  'button',
  'button_animated',
  'button_in_frame',
  'button_style',
  'canvas_animated',
  'checkbox',
  'checkbox_in_frame',
  'collapsible',
  'composition',
  'custom_loop',
  'dropdown',
  'dropdown_custom',
  'flexbox_gallery',
  'focus',
  'focus_cursor',
  'gallery',
  'homescreen',
  'input',
  'input_in_frame',
  'input_style',
  'linear_gradient_gallery',
  'maybe',
  'menu',
  'menu2',
  'menu_entries',
  'menu_entries_animated',
  'menu_in_frame',
  'menu_in_frame_horizontal',
  'menu_multiple',
  'menu_style',
  'menu_underline_animated_gallery',
  'modal_dialog',
  'modal_dialog_custom',
  'nested_screen',
  'print_key_press',
  'radiobox',
  'radiobox_in_frame',
  'renderer',
  'resizable_split',
  'scrollbar',
  'selection',
  'slider',
  'slider_direction',
  'slider_rgb',
  'tab_horizontal',
  'tab_vertical',
  'textarea',
  'toggle',
  'window',
  'with_restored_io',
]

foreach c : components
  executable(
    c,
    '@0@.cpp'.format(c),
    dependencies: [screen_dep, component_dep, thread_dep],
    override_options: 'cpp_std=c++20',
  )
endforeach
